<html><!-- Copyright (C) 2007 Laurent A.V. Szyster - Copylef GPL 2.0 -->
<head>
  <title>About protocols.js</title>
  <link href="site.css" type="text/css" rel="stylesheet"></link>
  <link href="protocols.css" type="text/css" rel="stylesheet"></link>
</head>
<body>
<div>  
  <h1><a href="index.html">About protocols.js</a></h1>
  <div class="menu">
    <a href="documentation.html">Documentation</a>
    <a href="licence.html">Licence</a>
    <a href="http://code.google.com/p/protocols/source">Sources</a>
  </div>
  <h2>Web Protocols</h2>
  <p>
    Like most AJAX libraries <code>protocols.js</code> attempts to 
    bridge the compatibility gap between browsers, although on a smaller 
    set of interfaces, providing conveniences to leverage four defacto
    standard web protocols: HTTP, HTML, CSS and JSON.
  </p>
  <p>
    Call it SOA, ESB or - more appropriately - a <a
    href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm"
    >Representational State Transfer</a> architecture, the design of a web 
    applications is constrained first by the protocols they implement. 
    Your mileage of application server systems, languages or APIs may vary, 
    <em>if their protocols do not</em>.
  </p>
  <p>
    To deliver an application that meets its entreprise requirements on time
    and budget, <code>protocols.js</code> supports a model driven architecture
    where blueprints are written directly using the text protocols applied: 
    JSON for object modeling; CSS and HTML for presentation; HTTP for network 
    integration. 
  </p>
  <h2>For JavaScript</h2>
  <p>
    The 700th implementation of a Lisp interpreter in C clothing does 
    <em>not</em> suck.
  </p>
  <p>
    So, I did not bend JavaScript like Ruby / <a 
    href="http://www.prototypejs.org/"
    >Prototype</a>, Python / <a 
    href="http://mochikit.com/"
    >Mochikit</a> or Java / <a 
    href="http://www.dojotoolkit.org/"
    >Dojo</a>.
  </p>
  <p>
    Nor did I try to reimplement yet another framework for throwable 
    web applications. If you need one, use <a 
    href="http://jquery.com/"
    >jQuery</a>, <a 
    href="http://extjs.com"
    >Ext</a> and <a 
    href="http://developer.yahoo.com/yui/"
    >YUI</a>. This library was made to get entreprise web applications 
    developers where less is more, now and in long run.
  </p>
  <p>
    The absence of a ton of abstractions, a questionable widgetry or another 
    language emulation makes <code>protocol.js</code> easier to learn and 
    ensures that its applications are reliable, small and fast enough.
  </p>
  <h2>Entreprise Applications</h2>
  <p>
    This library won't raise the client/server zombie APIs back from the 
    80's.
  </p>
  <p>
    Visual effects are tricky to run reliably accross browsers, drag and drop 
    has allways been a gimmick with too many pitfalls for its users and GUI 
    widgets in a web browser are non-senses. 
    Dressing up ad-hoc HTML templates and sleek CSS styles on every browsers 
    supported can be done separately, concurrently and without changes to 
    JavaScript applications of Protocols. 
  </p>  
  <p>
    A large and complex web of entreprise services is easier to grow 
    and to maintain when it is articulated as independant HTML pages, CSS 
    style sheets and JSON models. Protocols lets architects, programmers 
    and designers leverage a stable stack of protocols to produce together 
    large and complex applications made of simple parts.
  </p>
</body>
</html>